//
//  HQCapture1ViewController.m
//  精通Objective-C
//
//  Created by 花强 on 2017/9/20.
//  Copyright © 2017年 花强. All rights reserved.
//

#import "HQCapture1ViewController.h"

@interface HQCapture1ViewController ()

@end

@implementation HQCapture1ViewController
/*
 第一章 入门
 
 本章简要介绍OC语言；OC流行的原因等；
 
 1.1 简介
 OC是苹果公司OS X和iOS平台上的主要编程语言；
 
 1.1.1 苹果公司的OC平台
 OC开发环境由四个部分组成：
 1）OC编程语言；
 2）OC运行时环境；
 3）软件库；
 4）软件开发工具；
 
 主要介绍使用OC进行面向对象的软件开发方法：
 1.第一部分介绍语言和语言对面向对象的支持；
    OC程序在OC运行时环境中执行，可动态编程；
 2.第二部分介绍OC运行时环境，以及使用其应用编程接口（API）的方法；
 3.第三部分介绍Foundation框架，它是各种OC程序都在使用的基础API：
    软件库中含有一系列多功能框架、库和服务；
 4.第四部分介绍OC高级特性；
 
 软件开发工具提供：代码编辑和编译、用户界面开发、版本控制、项目管理、测试与调试等功能；
 
 1.1.2 选择OC的原因
 
 OC拥有很多特性：
 1）面向对象的编程功能：
 针对oop编程全面支持，其中包括对象消息、封装、继承、多态和开放式递归等；
 2）对象消息传递：
 使对象能够通过彼此传递消息协同工作；实际上，OC代码（如类 对象方法 或 函数）会向接收对象（接收器）发送消息，然后接收器使用该消息调用相关方法，并在需要时返回结果；
 如果接收器没有相应方法，可使用其他方式处理，如发送给另一个对象，广播给其他对象，检查该消息并应用自定义逻辑等；
 3）动态的运行时环境：
 将许多处理类型、消息和方法决议的工作转移到运行程序的时候进行，而不是在编译或链接时处理；
 使用这些功能能够以实时方式，同时促进程序的开发和更新；
 4）内存管理：
 自动引用计数（ARC），简化开发过程，提高程序性能；
 ARC是一种编译时技术，整合了传统内存自动化管理机制（如垃圾回收）的许多优点；
 相比之下，ARC可以提供更好的性能（内存管理代码会在编译时被插入到程序代码中），因而不会在执行程序时引起由内存管理原因导致的暂停；
 5）内部检查和获取信息：
 程序能在运行时检查对象、获取信息（对象的类型、属性和该对象支持的方法），以及修改对象的结构和行为；这样就能在执行程序时修改程序；
 6）对C语言的支持：
 OC是对C语言面向对象编程的扩展；是C的超集；可以使用原始C代码，也可以访问C语言的标准库；
 
 1.2 开发代码示例：
 
 main（）函数仍然是程序的起点，会在执行程序时被调用；一个可执行OC程序必须有一个main()函数；
 
 testCode：currentTimeStr;
 
 
 */

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    [self currentTimeStr];
}
/*
 日期方法：
 把一个时间戳转化成 星期 月 日 年；
 */
-(void)currentTimeStr{
    NSDate * date = [NSDate date];
    NSDateFormatter * dateFormat = [[NSDateFormatter alloc]init];
    [dateFormat setDateFormat:@"EEE MMM d,yyyy"];
    NSString * dateStr = [dateFormat stringFromDate:date];
    NSLog(@"%@",dateStr);//Wed Sep 20,2017
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}



/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
